Machine Learning : Cosine Similarity & Euclidean DistanceIntroduction:
This script implements a comprehensive trading strategy that adheres to the established rules and guidelines of housing trading. It leverages advanced machine learning techniques and incorporates customised moving averages, including the Conceptive Price Moving Average (CPMA), to provide accurate signals for informed trading decisions in the housing market. Additionally, signal processing techniques such as Lorentzian, Euclidean distance, Cosine similarity, Know sure thing, Rational Quadratic, and sigmoid transformation are utilised to enhance the signal quality and improve trading accuracy.
Features:
Market Analysis: The script utilizes advanced machine learning methods such as Lorentzian, Euclidean distance, and Cosine similarity to analyse market conditions. These techniques measure the similarity and distance between data points, enabling more precise signal identification and enhancing trading decisions.
Cosine similarity:
Cosine similarity is a measure used to determine the similarity between two vectors, typically in a high-dimensional space. It calculates the cosine of the angle between the vectors, indicating the degree of similarity or dissimilarity.
In the context of trading or signal processing, cosine similarity can be employed to compare the similarity between different data points or signals. The vectors in this case represent the numerical representations of the data points or signals.
Cosine similarity ranges from -1 to 1, with 1 indicating perfect similarity, 0 indicating no similarity, and -1 indicating perfect dissimilarity. A higher cosine similarity value suggests a closer match between the vectors, implying that the signals or data points share similar characteristics.
Lorentzian Classification:
Lorentzian classification is a machine learning algorithm used for classification tasks. It is based on the Lorentzian distance metric, which measures the similarity or dissimilarity between two data points. The Lorentzian distance takes into account the shape of the data distribution and can handle outliers better than other distance metrics.
Euclidean Distance:
Euclidean distance is a distance metric widely used in mathematics and machine learning. It calculates the straight-line distance between two points in Euclidean space. In two-dimensional space, the Euclidean distance between two points (x1, y1) and (x2, y2) is calculated using the formula sqrt((x2 - x1)^2 + (y2 - y1)^2).
Dynamic Time Windows: The script incorporates a dynamic time window function that allows users to define specific time ranges for trading. It checks if the current time falls within the specified window to execute the relevant trading signals.
Custom Moving Averages: The script includes the CPMA, a powerful moving average calculation. Unlike traditional moving averages, the CPMA provides improved support and resistance levels by considering multiple price types and employing a combination of Exponential Moving Averages (EMAs) and Simple Moving Averages (SMAs). Its adaptive nature ensures responsiveness to changes in price trends.
Signal Processing Techniques: The script applies signal processing techniques such as Know sure thing, Rational Quadratic, and sigmoid transformation to enhance the quality of the generated signals. These techniques improve the accuracy and reliability of the trading signals, aiding in making well-informed trading decisions.
Trade Statistics and Metrics: The script provides comprehensive trade statistics and metrics, including total wins, losses, win rate, win-loss ratio, and early signal flips. These metrics offer valuable insights into the performance and effectiveness of the trading strategy.
Usage:
Configuring Time Windows: Users can customize the time windows by specifying the start and finish time ranges according to their trading preferences and local market conditions.
Signal Interpretation: The script generates long and short signals based on the analysis, custom moving averages, and signal processing techniques. Users should pay attention to these signals and take appropriate action, such as entering or exiting trades, depending on their trading strategies.
Trade Statistics: The script continuously tracks and updates trade statistics, providing users with a clear overview of their trading performance. These statistics help users assess the effectiveness of the strategy and make informed decisions.
Conclusion:
With its adherence to housing trading rules, advanced machine learning methods, customized moving averages like the CPMA, and signal processing techniques such as Lorentzian, Euclidean distance, Cosine similarity, Know sure thing, Rational Quadratic, and sigmoid transformation, this script offers users a powerful tool for housing market analysis and trading. By leveraging the provided signals, time windows, and trade statistics, users can enhance their trading strategies and improve their overall trading performance.
Disclaimer:
Please note that while this script incorporates established tradingview housing rules, advanced machine learning techniques, customized moving averages, and signal processing techniques, it should be used for informational purposes only. Users are advised to conduct their own analysis and exercise caution when making trading decisions. The script's performance may vary based on market conditions, user settings, and the accuracy of the machine learning methods and signal processing techniques. The trading platform and developers are not responsible for any financial losses incurred while using this script.
By publishing this script on the platform, traders can benefit from its professional presentation, clear instructions, and the utilisation of advanced machine learning techniques, customised moving averages, and signal processing techniques for enhanced trading signals and accuracy.
I extend my gratitude to TradingView, LUX ALGO, and JDEHORTY for their invaluable contributions to the trading community. Their innovative scripts, meticulous coding patterns, and insightful ideas have profoundly enriched traders' strategies, including my own.
Cerca negli script per "the script"
Hikkake Hunter 2.0This script serves as a successor to a previous script I wrote for identifying Hikkakes nearly two years ago.
The old version has been preserved here:
█ OVERVIEW
This script is a rework of an old script that identified the Hikkake candlestick pattern. While this pattern is not usually considered a part of the standard candlestick patterns set, I found a lot of value when finding a solution to identifying it. A Hikkake pattern is a 3-candle pattern where a middle candle is nested in between the range of the prior candle, and a candle that follows has a higher high and a higher low (bearish setup) or a lower high and a lower low (bullish setup). What makes this pattern unique is the "confirmation" status of the pattern; within 3 candles of this pattern's appearance, there must be a candle that closes above the high (bullish setup) or below the low (bearish setup) of the second candle. Additional flexibility has been added which allows the user to specify the number of candles (up to 5) that the pattern may have to confirm after its appearance.
█ CONCEPTS
This script will cover concepts mainly focusing on candlestick analysis, price analysis (with higher timeframes), and statistical analysis. I believe there is also educational value presented with the use of user-defined-types (UDTs) in accomplishing these concepts that I hope others will find useful.
Candlestick Analysis - Identification and confirmation of the patterns in the deprecated script were clunky and inefficient. While the previous script required the use of 6 candles to perform the confirmations of patterns (restricted solely to identifying patterns that confirmed in 3 candles or less), this script only requires 3 candles to identify and process patterns by utilizing a UDT representing a 'pattern object'. An object representing a pattern will be created when it has been identified, and fields within that object will be set for processing by the functions it is passed to. Pattern objects are held by a var array (values within the array persist between bars) and will be removed from this array once they have been confirmed or non-confirmed.
This is a significant deviation from the previous script's methods, as it prevents unnecessary re-evaluations of the confirmation status of patterns (i.e. Hikkakes confirmed on the first candle will no longer need to be checked for confirmations on the second or third; a pitfall of the deprecated version which required multiple booleans tracking prior confirmation statuses). This deviation is also what provides the flexibility in changing the number of candles that can pass before a pattern is deemed non-confirmed.
As multiple patterns can be confirmed simultaneously, this script uses another UDT representing a linked-list reduction of the pattern object used to process it. This liked-list object will then be used for Price Analysis.
Price Analysis - This script employs the use of a UDT which contains all the returns of confirmed patterns. The user specifies how many candles ahead of the confirmed pattern to calculate its return, as well as where this calculation begins. There are two settings: FROM APPEARANCE and FROM CONFIRMATION (default). Price differences are calculated from the open of the candle immediately following the candle which had confirmed the pattern to the close of the candle X candles ahead (default 10). ( SEE FEATURES )
Because of how Pine functions, this calculation necessitates a lookback on prior candles to identify when a pattern had been confirmed. This is accomplished with the following pseudo-code:
if not na(confirmed linked-list )
for all confirmed in list
GET MATRIX PLACEMENT
offset = FROM CONFIRMATION ? 0 : # of candles to confirm
openAtFind = open
percent return = ((close - openAtFind) / openAtFind) * 100
ADD percent return TO UDT IN MATRIX
All return UDTs are held in a matrix which breaks up these patterns into specific groups covered in the next section.
Higher Timeframes - This script makes a request.security call to a higher timeframe in order to identify a price range which breaks up these patterns into groups based on the 'partition' they had appeared in. The default values for this partitioning will break up the chart into three sections: upper, middle, and lower. The upper section represents the highest 20% of the yearly trading range that an asset has experienced. The lower section represents the trading range within a third (33%) of the yearly low. And the middle section represents the yearly high-low range between these two partitions.
The matrix containing all return UDTs will have these returns split up based on the number of candles required to confirm the pattern as well as the partition the pattern had appeared in. The underlying rationale is that patterns may perform better or worse at different parts of an asset's trading range.
Statistical Analysis - Once a pattern has been confirmed, the matrix containing all return UDTs will be queried to check if a 'returnArray' object has been created for that specific pattern. If not, one will be initialized and a confirmed linked-list object will be created that contains information pertinent to the matrix position of this object.
This matrix contains the returns of both the Bullish and Bearish Hikkake patterns, separated by the number of candles needed to confirm them, and by the partitions they had appeared in. For the standard 3 candles to confirm, this means the matrix will contain 18 elements (dependent on the number of candles allowed for confirmations; its size will range from 12 to 30).
When the required number of candles for Price Analysis passes, a percent return is calculated and added to the returnArray contained in the matrix at the location derived from the confirmed linked-list object's values. The return is added, and all values in the returnArray are updated using Pine's built in array.___ functions. This returnArray object contains the array of all returns, its size, its average, the median, the standard deviation of returns, and a separate 3-integer array which holds values that correspond to the types of returns experienced by this pattern (negative, neutral, and positive)*.
After a pattern has been confirmed, this script will place the partition and all of the aforementioned stats values (plus a 95% confidence interval of expected returns) related to that pattern onto the tooltip of the label that identifies it. This allows users to scroll over the label of a confirmed pattern to gauge its prior performance under specific conditions. The percent return of the specific pattern identified will later be placed onto the label tooltip as well. ( SEE LIMITATIONS )
The stats portion of this script also plays a significant role in how patterns are presented when using the Adaptive Coloring mode described in FEATURES .
*These values are incremented based on user-input related to what constitutes a 'negative' or 'positive' return. Default values would place any return by a pattern between -3% and 3% in the 'neutral' category, and values exceeding either end will be placed in the 'negative' or 'positive' categories.
█ FEATURES
This script contains numerous inputs for modifying its behavior and how patterns are presented/processed, separated into 5 groups.
Confirmation Setting - The most important input for this script's functioning. This input is a 'confirm=true' input and must be set by the user before the script is applied to the chart. It sets the number of candles that a pattern has to confirm once it has been identified.
Alert Settings - This group of booleans sets which types of alerts will fire during the scripts execution on the chart. If enabled, the four alerts will trigger when: a pattern has been identified, a pattern has been confirmed, a pattern has been non-confirmed, and show the return for that confirmed pattern in an alert. Because this script uses the 'alert' function and not 'alertcondition', these must be enabled before 'any alert() function call' is set in TradingView's 'alerts' settings.
Partition Settings - This group of inputs are responsible for creating (and viewing) the partitions that breaks the returns of the patterns identified up into their respective groups. The user may set the resolution to grab the range from, the length back of this resolution the partitions get their values from, the thresholds which breaks the partitions up into their groups, and modify the visibility (if they're shown, the colors, opacity) of these partitions.
Stats Settings - These inputs will drastically alter how patterns are presented and the resulting information derived from them after their appearance. Because of this section's importance, some of these inputs will be described in more detail.
P/L Sample Length - Defines the number of candles after the starting point to grab values from in the % return calculation for that pattern.
P/L Starting Point - Defines the starting point where the P/L calculation will take place. 'FROM APPEARANCE' will set the starting point at the candle immediately following the pattern's appearance. 'FROM CONFIRMATION' will place the starting point immediately following the candle which had confirmed the pattern. ( SEE LIMITATIONS )
Min Returns Needed - Sets how many times a specific pattern must appear (both by number of candles needed to confirm and by partition) before the statistics for that pattern are displayed onto the tooltip (and for gradient coloration in Adaptive Coloring mode).
Enable Adaptive Coloring - Changes the coloration of the patterns based on the bullish/bearishness of the specified Gradient Reference value of that pattern compared to the Return Tolerance values OR the minimum and maximum values of that specified Gradient Reference value contained in the matrix of all returns. This creates a color from a gradient using the user-specified colors and alters how many of the patterns may appear if prior performance is taken into account.
Gradient Reference - Defines which stats measure of returns will be used in the gradient color generation. The two settings are 'AVG' and 'MEDIAN'.
Hard Limit - This boolean sets whether the Return Tolerance values will not be replaced by values that exceed them from the matrix of returns in color gradient generation. This changes the scale of the gradient where any Gradient Reference values of patterns that exceed these tolerances will be colored the full bullish or bearish gradient colors, and anything in between them will be given a color from the gradient.
Visibility Settings - This last section includes all settings associated with the overall visibility of patterns found with this script. This includes the position of the labels and their colors (+ pattern colors without Adaptive Coloring being enabled), and showing patterns that were non-confirmed.
Most of these inputs in the script have these kinds of descriptions to what they do provided by their tooltips.
█ HOW TO USE
I attempted to make this script much easier to use in terms of analyzing the patterns and displaying the information to the user. The previous script would have the user go to the 'data window' side bar on TradingView to view the returns of a pattern after they had specified which pattern to analyze through the settings, needlessly convoluted. This aim at simplicity was achieved through the use of UDTs and specific code-design.
To use, simply apply the indicator to a chart, set the number of candles (between 2 and 5) for confirming this specific pattern and adjust the many settings described above at your leisure.
█ LIMITATIONS
Disclaimer - This is a tool created with the hopes of helping identify a specific pattern and provide an informative view about the performance of that pattern. Previous performance is not indicative of future results. None of this constitutes any form of financial advice, *use at your own risk*.
Statistical Analysis - This script assumes that all patterns will yield a NORMAL DISTRIBUTION regarding their returns which may not be reflective of reality. I personally have limited experience within the field of statistics apart from a few high school/college courses and make no guarantees that the calculation of the 95% confidence interval is correct. Please review the source code to verify for yourself that this interval calculation is correct (Function Name: f_DisplayStatsOnLabel).
P/L Starting Point - Because of when the object related to the confirmation status of a pattern is created (specifically the linked-list object) setting the 'P/L Starting Point' to 'FROM APPEARANCE' will yield the results of that P/L calculation at the same time as 'FROM CONFIRMATION'.
█ EXAMPLES
Default Settings:
Partition Background (default):
Partition Background (Resolution D : Length 30):
Adaptive Coloration:
Show Non-Confirmed:
Trend Line Adam Moradi v1 (Tutorial Content)
The Pine Script strategy that plots pivot points and trend lines on a chart. The strategy allows the user to specify the period for calculating pivot points and the number of pivot points to be used for generating trend lines. The user can also specify different colors for the up and down trend lines.
The script starts by defining the input parameters for the strategy and then calculates the pivot high and pivot low values using the pivothigh() and pivotlow() functions. It then stores the pivot points in two arrays called trend_top_values and trend_bottom_values. The script also has two arrays called trend_top_position and trend_bottom_position which store the positions of the pivot points.
The script then defines a function called add_to_array() which takes in three arguments: apointer1, apointer2, and val. This function adds val to the beginning of the array pointed to by apointer1, and adds bar_index to the beginning of the array pointed to by apointer2. It then removes the last element from both arrays.
The script then checks if a pivot high or pivot low value has been calculated, and if so, it adds the value and its position to the appropriate arrays using the add_to_array() function.
Next, the script defines two arrays called bottom_lines and top_lines which will be used to store trend lines. It also defines a variable called starttime which is set to the current time.
The script then enters a loop to calculate and plot the trend lines. It first deletes any existing trend lines from the chart. It then enters two nested loops which iterate over the pivot points stored in the trend_bottom_values and trend_top_values arrays. For each pair of pivot points, the script calculates the slope of the line connecting them and checks if the line is a valid trend line by iterating over the price bars between the two pivot points and checking if the line is above or below the close price of each bar. If the line is found to be a valid trend line, it is plotted on the chart using the line.new() function.
Finally, the script colors the trend lines using the colors specified by the user.
Tutorial Content
'PivotPointNumber' is an input parameter for the script that specifies the number of pivot points to consider when calculating the trend lines. The value of 'PivotPointNumber' is set by the user when they configure the script. It is used to determine the size of the arrays that store the values and positions of the pivot points, as well as the number of pivot points to loop through when calculating the trend lines.
'up_trend_color' is an input parameter for the script that specifies the color to use for drawing the trend lines that are determined to be upward trends. The value of 'up_trend_color' is set by the user when they configure the script and is passed to the color parameter of the line.new() function when drawing the upward trend lines. It determines the visual appearance of the upward trend lines on the chart.
'down_trend_color' is an input parameter for the script that specifies the color to use for drawing the trend lines that are determined to be downward trends. The value of 'down_trend_color' is set by the user when they configure the script and is passed to the color parameter of the line.new() function when drawing the downward trend lines. It determines the visual appearance of the downward trend lines on the chart.
'pivothigh' is a variable in the script that stores the value of the pivot high point. It is calculated using the pivothigh() function, which returns the highest high over a specified number of bars. The value of 'pivothigh' is used in the calculation of the trend lines.
'pivotlow' is a variable in the script that stores the value of the pivot low point. It is calculated using the pivotlow() function, which returns the lowest low over a specified number of bars. The value of 'pivotlow' is used in the calculation of the trend lines.
'trend_top_values' is an array in the script that stores the values of the pivot points that are determined to be at the top of the trend. These are the pivot points that are used to calculate the upward trend lines.
'trend_top_position' is an array in the script that stores the positions (i.e., bar indices) of the pivot points that are stored in the 'trend_top_values' array. These positions correspond to the locations of the pivot points on the chart.
'trend_bottom_values' is an array in the script that stores the values of the pivot points that are determined to be at the bottom of the trend. These are the pivot points that are used to calculate the downward trend lines.
'trend_bottom_position' is an array in the script that stores the positions (i.e., bar indices) of the pivot points that are stored in the 'trend_bottom_values' array. These positions correspond to the locations of the pivot points on the chart.
apointer1 and apointer2 are variables used in the add_to_array() function, which is defined in the script. They are both pointers to arrays, meaning that they hold the memory addresses of the arrays rather than the arrays themselves. They are used to manipulate the arrays by adding new elements to the beginning of the arrays and removing elements from the end of the arrays.
apointer1 is a pointer to an array of floating-point values, while apointer2 is a pointer to an array of integers. The specific arrays that they point to depend on the arguments passed to the add_to_array() function when it is called. For example, if add_to_array(trend_top_values, trend_top_posisiton, pivothigh) is called, then apointer1 would point to the tval array and apointer2 would point to the tpos array.
'bottom_lines' (short for "Bottom Lines") is an array in the script that stores the line objects for the downward trend lines that are drawn on the chart. Each element of the array corresponds to a different trend line.
'top_lines' (short for "Top Lines") is an array in the script that stores the line objects for the upward trend lines that are drawn on the chart. Each element of the array corresponds to a different trend line.
Both 'bottom_lines' and 'top_lines' are arrays of type "line", which is a data type in PineScript that represents a line drawn on a chart. The line objects are created using the line.new() function and are used to draw the trend lines on the chart. The variables are used to store the line objects so that they can be manipulated and deleted later in the script.
Loops
maxline is a variable in the script that specifies the maximum number of trend lines that can be drawn on the chart. It is used to determine the size of the bottom_lines and top_lines arrays, which store the line objects for the trend lines.
The value of maxline is set to 3 at the beginning of the script, meaning that at most 3 trend lines can be drawn on the chart at a time. This value can be changed by the user if desired by modifying the assignment statement "maxline = 3".
'count_line_low' (short for "Count Line Low") is a variable in the script that keeps track of the number of downward trend lines that have been drawn on the chart. It is used to ensure that the maximum number of trend lines (as specified by the maxline variable) is not exceeded.
'count_line_high' (short for "Count Line High") is a variable in the script that keeps track of the number of upward trend lines that have been drawn on the chart. It is used to ensure that the maximum number of trend lines (as specified by the maxline variable) is not exceeded.
Both 'count_line_low' and 'count_line_high' are initialized to 0 at the beginning of the script and are incremented each time a new trend line is drawn. If either variable exceeds the value of maxline, then no more trend lines are drawn.
'pivot1', 'up_val1', 'up_val2', up1, and up2 are variables used in the loop that calculates the downward trend lines in the script. They are used to store intermediate values during the calculation process.
'pivot1' is a loop variable that is used to iterate through the pivot points (stored in the trend_bottom_values and trend_bottom_position arrays) that are being considered for use in the trend line calculation.
'up_val1' and 'up_val2' are variables that store the values of the pivot points that are used to calculate the downward trend line.
up1 and up2 are variables that store the positions (i.e., bar indices) of the pivot points that are stored in 'up_val1' and 'up_val2', respectively. These positions correspond to the locations of the pivot points on the chart.
'value1' and 'value2' are variables that are used to store the values of the pivot points that are being compared in the loop that calculates the trend lines in the script. They are used to determine whether a trend line can be drawn between the two pivot points.
For example, if 'value1' is the value of a pivot point at the top of the trend and 'value2' is the value of a pivot point at the bottom of the trend, then a trend line can be drawn between the two points if 'value1' is greater than 'value2'. The values of 'value1' and 'value2' are used in the calculation of the slope and intercept of the trend line.
'position1' and 'position2' are variables that are used to store the positions (i.e., bar indices) of the pivot points that are being compared in the loop that calculates the trend lines in the script. They are used to determine the distance between the pivot points, which is necessary for calculating the slope of the trend line.
For example, if 'position1' is the position of a pivot point at the top of the trend and 'position2' is the position of a pivot point at the bottom of the trend, then the distance between the two points is given by 'position1' - 'position2'. This distance is used in the calculation of the slope of the trend line.
'different', 'high_line', 'low_location', 'low_value', and 'valid' are variables that are used in the loop that calculates the downward trend lines in the script. They are used to store intermediate values during the calculation process.
'different' is a variable that stores the slope of the downward trend line being calculated. It is calculated as the difference in value between the two pivot points (stored in up_val1 and up_val2) divided by the distance between the pivot points (calculated using their positions, stored in up1 and up2).
'high_line' is a variable that stores the current value of the trend line being calculated at a given point in the loop. It is initialized to the value of the second pivot point (stored in up_val2) and is updated on each iteration of the loop using the value of different.
'low_location' is a variable that stores the position (i.e., bar_index) on the chart of the point where the trend line being calculated first touches the low price. It is initialized to the position of the second pivot point (stored in up2) and is updated on each iteration of the loop if the trend line touches a lower low.
'low_value' is a variable that stores the value of the trend line at the point where it first touches the low price. It is initialized to the value of the second pivot point (stored in up_val2) and is updated on each iteration of the loop if the trend line touches a lower low.
'valid' is a Boolean variable that is used to indicate whether the trend line being calculated is valid. It is initialized to true and is set to false if the trend line does not pass through all the lows between the pivot points. If valid is still true after the loop has completed, then the trend line is considered valid and is drawn on the chart.
d_value1, d_value2, d_position1, and d_position2 are variables that are used in the loop that calculates the upward trend lines in the script. They are used to store intermediate values during the calculation process.
d_value1 and d_value2 are variables that store the values of the pivot points that are used to calculate the upward trend line.
d_position1 and d_position2 are variables that store the positions (i.e., bar indices) of the pivot points that are stored in d_value1 and d_value2, respectively. These positions correspond to the locations of the pivot points on the chart.
The variables d_value1, d_value2, d_position1, and d_position2 have the same function as the variables uv1, uv2, up1, and up2, respectively, but for the calculation of the upward trend lines rather than the downward trend lines. They are used in a similar way to store intermediate values during the calculation process.
thank you.
Stoch/RSI with EMA50 Cross & HHLLA hybrid but simple indicator that plots 4 strategies in one pane .
1) RSI Indicator
2) Stoch RSI
3) EMA50 Cross (To determine direction in current timeframe)
4) Higher Highs & Lower Lows to analyze the trend and break of trend
The relative strength index (RSI) is a momentum indicator used in technical analysis. It is displayed as an oscillator (a line graph) on a scale of zero to 100. When the RSI indicator crosses 30 on the RSI chart, it is a bullish sign and when it crosses 70, it is a bearish sign.
The Stochastic RSI (StochRSI) is also a momentum indicator used in technical analysis. It is displayed as an oscillator (a line graph) on a scale of zero to 100. When the StochRSI indicator crosses 20 on the RSI chart, it is a bullish sign and when it crosses 80, it is a bearish sign.
The EMA50Cross denotes two cases in the script:
a) A crossover of CMP on the EMA50 is highlighted by a green bar signals a possible bullish trend
b) A crossunder of CMP on the EMA50 is highlighted by a red bar signals a possible bearish trend
The HHLL is denoted by mneumonics HH, HL,LH, LL. A combination of HHs and HLs denotes a uptrend while the combination of LLs and LHs denoted a downtrend
The current script should be used in confluence of other trading strategies and not in isolation.
Scenario 1:
If a EMA50Cross over bar (GREEN) is highlighted with the StochRSI below 20 and the given script is plotting HHs and HLs, we are most likely in a bullish trend for the given timeframe and a long can be initiated in confluence with other trading strategies used by the user. The RSI signal may now be utilized to determine a good range of entry/exit.
Scenario 2:
If a EMA50Cross under bar (RED) is highlighted with the StochRSI above 80 and the given script is plotting LLs and LHs, we are most likely in a bearish trend for the given timeframe and a short can be initiated in confluence with other trading strategies used by the user. The RSI signal may now be utilized to determine a good range of entry/exit.
Disclaimer:
The current script should be used in confluence with other trading strategies and not in isolation. The scripts works best on 4H and 1D Timeframes and should be used with caution on lower timeframes.
This indicator is not intended to give exact entry or exit points for a trade but to provide a general idea of the trend & determine a good range for entering or exiting the trade. Please DYOR
Credit & References:
This script uses the default technical analysis reference library provided by PineScript (denoted as ta)
MTFindicatorsQuite recently TradingView added the possibility to create and use Libraries in PineScript. With this feature PineScript became higher quality of coding language overnight. Libraries enable splitting your code into multiple files, providing easier access to code reusability.
I was working on a script which included 3000 lines of code, which was recompiling 1:30 min, and recalculating over 1 minute as well. So I split it into 2 parts: main part + library containing "main logic", which I reuse in variety of scripts, but don't change too often. Result? Now recompilation of my main script takes 10 and recalculation 8 seconds!!!. I instantly fell in love with libraries.
Having said that, and being dedicated hater of security() calls, I have decided to publish a library of MTF indicators created with my own approach: "dig into formula". I have explained reasons for such approach in desription to this script:
So this library script will be a set of indicators reaching to higher timeframes. Just include one line at the beginning of the script you are creating:
import Peter_O/MTFindicators/1 as LIB
and then somewhere is the code add this line:
rsimtf=LIB.rsi_mtf(close,5,14)
All of a sudden you have access to rsimtf from 5x higher timeframe without any hassle :)
I start with RSI MTF, next ones will be ADX, Stochastic and some more. I will update this library with them here as well. Feel free to request particular indicators in comments. Maybe PSAR? Maybe Bollinger Bands?
PriceCatch Crypto Screener IOHi,
TradingView community and Crypto traders. Warm Greetings.
PriceCatch Crypto Screener.
I am sharing a script that screens the following Crypto.
ADAUSD, ALGOUSD, AMPUSD, ATOMUSD, AUCTIONUSD, AVAXUSD, BTCUSD, BTRSTUSD, CHZUSD, DAIUSD, DOGEUSD, DOTUSD,
EOSUSD, ETHUSD, FETUSD, FXUSD, JASMYUSD, LINKUSD, LRCUSD, MANAUSD, MATICUSD, NUUSD, OMGUSD, OXTUSD,
SHIBUSD, SKLUSD, SNXUSD, SOLUSD, TRIBEUSD, USTUSD, XLMUSD, XTZUSD, YFIUSD, ZRXUSD
Once this script is added to your chart and the resolution is set, it will automatically keep watching for any breakout on the above Crypto and display the results on chart for your attention. You may use the settings option of the script to screen on different time-frames. For example, you may manually select 30Min, 1H, etc., to scan on the respective time-frames. This way, you can quickly spot any opportunities emerging on different time-frames. The Screener runs independently of any symbol displayed on your chart.
NOTE - PRIOR TO USING THIS SCRIPT:
Please remember that the script is shared with absolutely no assurances about usability and any warranties whatsoever and as a responsible trader, please satisfy yourselves thoroughly and use it only if you are convinced it works for you. Remember, you are 100% responsible for your actions. If you understand and accept that, you may use the script.
QUERIES/FEEDBACK
Please PM me or leave comments.
Regards to all and wish everyone all the best with trading.
Exponential MA Channel, Daily Timeframe (Crypto)Moving averages are some of the most common tools for traders. Some of the most widely used ones are simple moving averages (e.g. 20SMA, 50 SMA, 100 SMA, 200SMA,...). There are endless combinations of moving averages that can be used. I prefer to use exponential moving averages because they react more quickly to price data (essentially they filter back through the data over a discrete number of timesteps, with more recent history receiving the highest weighting in the final calculation).
This script uses a combination of the 21EMA, 53 EMA, and 100EMA. The idea of this script is to provide insight into when an asset might be close to a local top/bottom by monitoring price within the middle channel (yellow, blue, and orange lines), as well as identifying longer timeframe opportunities to buy/sell by examining the upper (green) and lower (red) bands. Disclaimer: this is not a guarantee that if price enters a region, that it will be a top or bottom, it is simply an indicator to get an idea based on price history.
As far as I know, this particular combination of exponential moving averages has not yet been published. I do not have an infinite amount of time to check through the entire library of published scripts. If someone else has already done this, I was unaware. Numerical computations were performed on ETHBTC price data in order to find the coefficients used in this script. Essentially, each EMA has a multiplier of either 1, a fraction of 1, or a number larger than 1 (these are the numbers in the script being multiplied by 'out1', 'out2', 'out3'; feel free to change these and see how this changes the indicator). I have found it to be useful for myself, and hope other people can tinker with this idea. My only wish is to allow other people to use this starting point to explore for themselves. I hope that I am allowed to publish this script without it being taken down so that others can freely use it.
Recommendations: although this was fit specifically for ETHBTC, it appears useful for many crypto pairs, specifically alt-BTC pairs and crypto-USD pairs. For example, I have found it useful for BTCUSD, ETHUSD, LINKUSD, LINKBTC, ETHBTC, ADABTC, etc. Only use on the DAILY timeframe.
How to use Leverage and Margin in PineScriptEn route to being absolutely the best and most complete trading platform out there, TradingView has just closed 2 gaps in their PineScript language.
It is now possible to create and backtest a strategy for trading with leverage.
Backtester now produces Margin Calls - so recognizes mid-trade drawdown and if it is too big for the broker to maintain your trade, some part of if will be instantly closed.
New additions were announced in official blogpost , but it lacked code examples, so I have decided to publish this script. Having said that - this is purely educational stuff.
█ LEVERAGE
Let's start with the Leverage. I will discuss this assuming we are always entering trades with some percentage of our equity balance (default_qty_type = strategy.percent_of_equity), not fixed order quantity.
If you want to trade with 1:1 leverage (so no leverage) and enter a trade with all money in your trading account, then first line of your strategy script must include this parameter:
default_qty_value = 100 // which stands for 100%
Now, if you want to trade with 30:1 leverage, you need to multipy the quantity by 30x, so you'd get 30 x 100 = 3000:
default_qty_value = 3000 // which stands for 3000%
And you can play around with this value as you wish, so if you want to enter each trade with 10% equity on 15:1 leverage you'd get default_qty_value = 150.
That's easy. Of course you can modify this quantity value not only in the script, but also afterwards in Script Settings popup, "Properties" tab.
█ MARGIN
Second newly released feature is Margin calculation together with Margin Calls. If the market goes against your trades and your trading account cannot maintain mid-trade drawdown - those trades will be closed in full or partly. Also, if your trading account cannot afford to open more trades (pyramiding those trades), Margin mechanism will prevent them from being entered.
I will not go into details about how Margin calculation works, it was all explainged in above mentioned blogpost and documentation .
All you need to do is to add two parameters to the opening line of your script:
margin_long = 1./30*50, margin_short = 1./30*50
Whereas "30" is a leverage scale as in 30:1, and "50" stands for 50% of Margin required by your broker. Personally the Required Margin number I've met most often is 50%, so I'm using value 50 here, but there are literally 1000+ brokers in this world and this is individual decision by each of them, so you'd better ask yourself.
--------------------
Please note, that if you ever encounter a strategy which triggers Margin Call at least once, then it is probably a very bad strategy. Margin Call is a last resort, last security measure - all the risks should be calculated by the strategy algorithm before it is ever hit. So if you see a Margin Call being triggred, then something is wrong with risk management of the strategy. Therefore - don't use it!
Tick Data DetailedHello All,
After Tick Chart and Tick Chart RSI scripts, this is Tick Data Detailed script. Like other tick scrips this one only works on real-time bars too. it creates two tables: the table at the right shows the detailed data for Current Bar and the table at the left shows the detailed data for all calculated bars (cumulative). the script checks the volume on each tick and add the tick and volume to the specified level (you can set/change levels)
The volume is multiplied by close price to calculate real volume .There are 7 levels/zones and the default levels are:
0 - 10.000
10.000 - 20.000
20.000 - 50.000
50.000 - 100.000
100.000 - 200.000
200.000 - 400.000
> 400.000
With this info, you will get number of ticks and total volumes on each levels. The idea to separate this levels is in order to know which type of traders trade at that moment. for example volume of whale moves are probably greater than 400.000 or at least 100.000. Or volume of small traders is less than 10.000 or between 20.000-50.000.
You will get info if there is anomaly on each candle as well. what is anomaly definition? Current candle is green but Sell volume is greater than Buy volume or current candle is red but Buy volume is greater than Sell volume . it is shown as (!). you should think/search why/how this anomaly occurs. You can see screenshot about it below.
also "TOTAL" text color changes automatically. if Buy volume is greater than Sell volume then its color becomes Green, if Sell volume is greater than Buy volume then its color becomes Red (or any color you set)
Optionally you can change background and text colors as shown in the example below.
Explanation:
How anomaly is shown:
You can enable coloring background and set the colors as you wish:
And Thanks to @Duyck for letting me use the special characters from his great script.
Enjoy!
SR Levels - Major Support and Resistance LevelsHello Traders!
This Indicator helps you to identify Major support and resistance level. Major Vibration numbers are working as support & resistance in the many scripts as I have seen. Since I have my research about the vibration numbers, I strongly believe these numbers are works as good Support & Resistance. This is just try to idendify the those number to enter into the trade. Use Other indicators to Identify Trend and for your support!
When Price move low to high:
1) Green Line works are buy entry point, TP area is Red Line, SL area also Red Just below the Green Line
When Price Move High to Low:
1) Red Lines are works as Sell entry point, TP are Green Line, SL area also Green Lines just above the Red Line.
Notes: This Indicators is mainly focus the script which more than 5 digit scripts. Example above 10000 price scripts only.. for Intraday. below 10000 or 1000 scripts also works but for long term not for intraday...
NSE:BANKNIFTY
Fixed Reference Relative StrengthRelative Strength based on a fixed reference session date. This study works on day timeframe only.
The idea here is to "fix" a reference trading session day. The relative strength of subsequent candles are measured based on this reference day only. Relative strengths of bars before this bar is irrelevant and not plotted. As the plotting of the bars advances, the length is automatically adjusted so that the base reference is the "fixed" reference only. The RS value is multiplied by 100 to give a percentage value.
The other Relative Strength indicators that I have published (and other Relative Strength scripts generally available on TradingView), generally take a fixed length as input and that has to be advanced each trading session. What this results into is that only the "latest bar" RS is compared to the "reference" session date. All the RS values prior to this latest bar is actually compared to days previous to the reference date.
In the example above, we have input 13-Feb-2020 as the "fixed" reference trading session day. Starting from 14-Feb-2020, each session day, we calculate the RS always with respect to 13-Feb-2020, unlike the other scripts. When the RS value of today, 08-Sep-2020 is being calculated, it is using 13-Feb-2020 (as the other scripts do when the length is advanced one day each trading session day). However, when the RS value of 07-Sep-2020 is being calculated today (08-Sep-2020), it is still using 13-Feb-2020 as the reference. In the other scripts, a calculation of RS for 07-Sep-2020 on 08-Sep-2020 would have taken 12-Feb-2020 as the reference value.
This plot thus gives the exact performance of the script with respect to the benchmark index from the fixed reference each day. A performance trend is therefore possible to do on this plot.
TradeChartist PowerTracer Pro Backtester™TradeChartist PowerTracer Pro Backtester is the strategy script for backtesting ™TradeChartist PowerTracer Pro for best performance settings which can then be used with ™TradeChartist PowerTrader Pro to plot Trades emulating the backtester and use Alerts (once per bar) on real time price chart.
PowerTracer Backtester includes the following options in the settings.
PowerTracer setting - Power Plot Type - (PowerTracer, Bar-wise Power Holder)
PowerTracer setting - Timeframe Multiplier
PowerTracer setting - Smoothing Factor
Backtester setting - Trade Direction - (Both Longs and Shorts, Only Longs, Only Shorts)
Backtester setting - SL Type (Fixed Stop Loss, Trailing Stop Loss)
Backtester setting - Reference for Trailing SL (Close, High/Low)
Backtester setting - Stop Loss %
Backtester setting - Take Profit %
Backtester setting - Quantity to trade at TP %
Using combinations of the settings, the user can find optimal settings for the asset to deliver lucrative entry and exit signals with high ROI and minimal Drawdown which can then be used on PowerTracer Pro and PowerTrader Pro to plot signals and create alerts to start trading in real-time.
Example charts:
GBP-USD 1hr chart - (2,1,Trailing SL, close, 1,1,25)
BTC-USDT 15m chart - (4,5, Trailing SL, high/low, 3.9,1.2,15)
SPX 1hr chart - (1,3, Trailing SL, high/low, 3, 2, 50)
This backtester needs the following scripts to generate signals and plots on main price chart and for real-time alerts
™TradeChartist PowerTracer Pro
™TradeChartist PowerTrader Pro
===================================================================================================================
This is not a free to use indicator. Get in touch with me (PM me directly if you would like trial access to test the indicator)
Premium Scripts - Trial access and Information
Trial access offered on all Premium scripts.
PM me directly to request trial access to the scripts or for more information.
===================================================================================================================
Standard Deviation Measurement ToolIf you like the script please come back and leave me a comment or find me on the interwebs. I get notified you "liked" it... but I have no idea if you actually use it. So, let me know =)
The script uses the open price as the mean and calculates the standard deviation from the open price on a per candle basis
- Goal: -
To establish a mean based on the Open Price and calculate the standard deviation.
The reason for this is if the Open is the mean, then the Standard deviation implies a standardized distance a given candle can be expected to travel
from the open price
- Edge: -
If you know that there is a 68%/95%/99.7% probability that price will NOT move more than
One Standard Deviation/Two Standard Deviations/Three Standard Deviations from the open price respectively
you can set reasonable price targets that relate to those probabilities in a given timeframe.
e.g. if you're on a 1h chart and your target is 3.5% from the open price, but 1 standard deviation of the hourly candle is equal to 0.78%.
You can make assumptions on either:
- The reasonableness of your target
or
- The holding period likely required for the trade.
Also, Standard Deviation is a function of volatility and this tool provides a unique mechanism for measuring volatility as well on a candle by candle basis
- Customization Options-
- Set 3 independent upper and lower standard deviations.
- Each set of standard deviations are on a switch so you can show 1, 2, or 3 sets of standard deviations
- You can set the distribution width
- Though it's not recommended, you can change the mean source.
- There is a switch to show the standard deviation on only the real-time bar or real-time and historical bars.
- How I Think About This Script -
This strategy is predicated the same principle as Bollinger Bands: the reality that 68% of all data points will fall within one standard deviation of the mean, 96% of all data points will fall within two standard deviations, and 98% of al data points will fall within 3 standard deviations. By understanding the standard deviation, you can possibly infer an edge by understanding the probabilistic range price will be bound to the limits of standard deviation rules according to their probabilistic outcomes for the single candle on any given timeframe. Bollinger Bands are designed to provide this information with the mean being a 20-period moving average and this indicator.
This indicator is designed to provide standard deviation information with the mean being based on the distance price travels away from the open of individual candles in the lookback period.
If you use a strategy where you enter on major candle closes, this can be useful to set targets for those entries based on the intended hold period or at least add/remove validity to other target metrics.
Example:
Your target is at the 1.618 Fibonacci level and your confirmation triggers on the 4h candle close (H4 if that's your thing lol). You set up the indicator based on the standard deviation of price movement in 4h candles over the last week.
Let's say the indicator shows that the 1.618 Fibonacci level is 3 standard deviations away.
This being the case this statistically indicates that within the next 4 hours, you have a very low probability of achieving your target (>2%). This doesn't invalidate your target, but it does indicate a low probability of achieving it in the next 4hrs. With this information, you can infer that you are either going to be (a) really lucky (b) in this trade for a lot longer than 4hrs or (c) your target is unrealistic given your intended hold period.
You can develop a more probabilistically favorable hold period calculation by looking at the standard deviation on a higher time frame (e.g. 1d-1w).
Bonus feature: You'll find that the 2 and 3 standard deviations will often "cluster" and these clusters often provide future S/R levels. That's a pretty sweet feature no one things to look for. But, try it. Find a cluster of 2nd and 3rd stdevs that are in somewhat of a horizontal pattern (usually the result of a range) and you'll find that to be a good s/r area. Even better if you use the 3.2 standard deviation, you'll find that is a fantastic breakout signal!
Summary
So, you can use it for target setting, a confluence test, a reasonableness test, or just a measurement tool.
This was the first TV script I ever wrong.. Got taken down. But, I've re-released it because there are other TV scripts that attempt to do this but are completely wrong.
Please be careful about using other people's scripts. Always validate the math of the script before you use it if possible.
Stay safe out there and I hope all your dreams come true.
BullTrading 15 Min Daily Retracement Channel V2.0Hi Traders, I have been received tons of private messages asking me access to my previous scripts. Please let me apologize for not being able to answer all messages. Once you publish a script in Tradingview you can manage individual access to the script but there is no option to open the script after being published.
For that reason I decided to open this script for you, this indicator implements many of the best features contained in previous "invite only scripts". It is designed to display alerts for day trading and short term swings using the 15m Timeframe.
How to use "BullTrading 15 Min Daily Retracement Channel V2.0" indicator?
This indicator is experimental but works if the trader applies good judgment and risk management. Neither myself or BullTrading Asset Management is or will be responsible for any live trading loss using this script, so please use it on Demo.
ALWAYS USE PENDING ORDERS!! It is always much better to wait price using your Fibonacci Retracement tool or the indicator reference lines.
Set Buy signals AT THE CLOSE of yellow candlesticks.
Set Sell signals AT THE CLOSE of fuchsia candlesticks.
Most of the time Buy/Sell signals will react with too much anticipation so you can wait for the price to form enough fractals in order to analyze your entry levels, risk management, SL's and TP's.
AVOID AT ALL COSTS to enter the market immediately after a signal. WAIT for fractal formations to confirm reversals. I will say it AGAIN: Use only pending orders and AVOID market execution orders!
If your order is already filled and the moving average changes color or the price consolidates in your entry level it is better to trail tight your SL, exit the trade with small loss or Break Even instead of waiting for a full Stop Loss exit (this conditions usually indicate trend continuations against the indicator signals).
If the market goes against the signal, THINK and use the indicator lines and channels to match a level using your Fib retracement tool. Applying this criteria will lead for better entry levels in the opposite direction.
Feel free to comment suggestions.
Best Regards
GustavoRubi
Moving Average Trend ToolsI. How M.A.T.T. Adds Value to the TradingView Community:
The "Moving Average Trend Tools" (M.A.T.T.) is a versatile Pine Script v6 indicator that empowers traders with clear trend analysis, reliable trade signals, and real-time insights. Its intuitive design and robust features make it a valuable addition to the TradingView Community Scripts by catering to traders of all levels. Here’s why it stands out:
Clear Trend Visualization: M.A.T.T. plots a moving average (MA) with dynamic coloring—green for rising, red for falling, and gray for flat—based on a user-defined lookback period. This simplifies trend interpretation, helping traders quickly assess market momentum.
Reliable Trade Signals : The script identifies price crossovers above or below the MA, plotting green circles for bullish crosses and red for bearish, confirmed on closed bars to prevent repainting. These signals guide entry and exit points for trend-following or reversal strategies.
Real-Time Extension Detection : M.A.T.T. calculates percentage price deviations from the MA, displaying real-time labels when thresholds (e.g., 6%) are exceeded. This highlights overextended moves, ideal for spotting reversals or pullbacks, with alerts to keep traders informed.
Extensive Customization : Traders can tailor the MA type (SMA, EMA, WMA, HMA), length, colors, line width, and label sizes. This flexibility supports diverse strategies across markets like stocks, forex, and crypto, from scalping to swing trading.
Automated Alerts : Alert conditions for crossovers and extensions integrate seamlessly with TradingView’s system, enabling traders to stay updated without constant chart monitoring.
M.A.T.T. combines trend analysis, signal generation, and overextension detection into a single, user-friendly tool. Its accessibility, reliability, and educational value for Pine Script learners make it a compelling contribution to the community.
II. What M.A.T.T. Does, How It Works, and Its Originality:
What It Does :
M.A.T.T. enhances trend analysis and trade decision-making through three core features:
Dynamic MA Visualization: Plots a customizable MA (SMA, EMA, WMA, or HMA) with trend-based coloring to reflect rising, falling, or flat market conditions.
Price Crossover Signals : Marks bullish (green circles) and bearish (red circles) crossovers, confirmed on closed bars, with alerts for trade opportunities.
Price Extension Labels : Displays real-time percentage deviations of price from the MA, with alerts when user-defined thresholds are breached, signaling potential reversals.
How It Works :
M.A.T.T. leverages Pine Script v6 for precise calculations and user-friendly outputs:
Inputs: Users select MA type, length, lookback period, colors, and thresholds for extensions, plus label styles and sizes for customization.
MA Calculation : A switch function computes the chosen MA (e.g., ta.ema(close, 21) for EMA). Trend direction is determined using ta.rising or ta.falling over the lookback period, coloring the MA accordingly.
Crossover Logic : Bullish crossovers (close > ma and close < ma ) and bearish crossovers (close < ma and close > ma ) are plotted as circles on confirmed bars (barstate.isconfirmed) to ensure reliability. Alerts trigger only on the first bar of a crossover.
Extension Logic : Percentage deviations are calculated as ((price - ma) / ma) * 100, using the high for above-MA extensions and low for below. Labels appear in real-time when thresholds are exceeded, with alerts on transitions to avoid noise.
Why It’s Original
M.A.T.T. distinguishes itself through a unique blend of features and thoughtful design:
All-in-One Design : It integrates dynamic MA coloring, non-repainting crossover signals, and real-time extension detection, addressing trend identification, trade signals, and overextension warnings in one tool—unlike most MA indicators that focus on a single aspect.
Real-Time Extension Labels : Displaying percentage deviations with customizable thresholds is a rare feature, ideal for volatile markets and not commonly found in standard scripts.
Non-Repainting Signals : Confirmed crossover signals enhance reliability for live trading, setting M.A.T.T. apart from less rigorous indicators.
Optimized Alert Condtions : Alerts trigger only on transitions (e.g., first bar of a crossover or extension), reducing noise and improving usability.
Visual and Functional Flexibility : Support for four MA types, extensive customization, and a clean interface (dynamic colors, tiny circles, clear labels) make it adaptable and user-friendly.
While MA plotting or crossovers exist elsewhere, M.A.T.T.’s seamless integration, real-time extension detection, alert conditions, and focus on reliability and customization create a distinctive, practical tool. Its balance of simplicity and sophistication makes it a unique asset for the TradingView community.
VPSA-VTDDear Sir/Madam,
I am pleased to present the next iteration of my indicator concept, which, in my opinion, serves as a highly useful tool for analyzing markets using the Volume Spread Analysis (VSA) method or the Wyckoff methodology.
The VPSA (Volume-Price Spread Analysis), the latest version in the family of scripts I’ve developed, appears to perform its task effectively. The combination of visualizing normalized data alongside their significance, achieved through the application of Z-Score standardization, proved to be a sound solution. Therefore, I decided to take it a step further and expand my project with a complementary approach to the existing one.
Theory
At the outset, I want to acknowledge that I’m aware of the existence of other probabilistic models used in financial markets, which may describe these phenomena more accurately. However, in line with Occam's Razor, I aimed to maintain simplicity in the analysis and interpretation of the concepts below. For this reason, I focused on describing the data using the Gaussian distribution.
The data I read from the chart — primarily the closing price, the high-low price difference (spread), and volume — exhibit cyclical patterns. These cycles are described by Wyckoff's methodology, while VSA complements and presents them from a different perspective. I will refrain from explaining these methods in depth due to their complexity and broad scope. What matters is that within these cycles, various events occur, described by candles or bars in distinct ways, characterized by different spreads and volumes. When observing the chart, I notice periods of lower volatility, often accompanied by lower volumes, as well as periods of high volatility and significant volumes. It’s important to find harmony within this apparent chaos. I think that chart interpretation cannot happen without considering the broader context, but the more variables I include in the analytical process, the more challenges arise. For instance, how can I determine if something is large (wide) or small (narrow)? For elements like volume or spread, my script provides a partial answer to this question. Now, let’s get to the point.
Technical Overview
The first technique I applied is Min-Max Normalization. With its help, the script adjusts volume and spread values to a range between 0 and 1. This allows for a comparable bar chart, where a wide bar represents volume, and a narrow one represents spread. Without normalization, visually comparing values that differ by several orders of magnitude would be inconvenient. If the indicator shows that one bar has a unit spread value while another has half that value, it means the first bar is twice as large. The ratio is preserved.
The second technique I used is Z-Score Standardization. This concept is based on the normal distribution, characterized by variables such as the mean and standard deviation, which measures data dispersion around the mean. The Z-Score indicates how many standard deviations a given value deviates from the population mean. The higher the Z-Score, the more the examined object deviates from the mean. If an object has a Z-Score of 3, it falls within 0.1% of the population, making it a rare occurrence or even an anomaly. In the context of chart analysis, such strong deviations are events like climaxes, which often signal the end of a trend, though not always. In my script, I assigned specific colors to frequently occurring Z-Score values:
Below 1 – Blue
Above 1 – Green
Above 2 – Red
Above 3 – Fuchsia
These colors are applied to both spread and volume, allowing for quick visual interpretation of data.
Volume Trend Detector (VTD)
The above forms the foundation of VPSA. However, I have extended the script with a Volume Trend Detector (VTD). The idea is that when I consider market structure - by market structure, I mean the overall chart, support and resistance levels, candles, and patterns typical of spread and volume analysis as well as Wyckoff patterns - I look for price ranges where there is a lack of supply, demand, or clues left behind by Smart Money or the market's enigmatic identity known as the Composite Man. This is essential because, as these clues and behaviors of market participants — expressed through the chart’s dynamics - reflect the actions, decisions, and emotions of all players. These behaviors can help interpret the bull-bear battle and estimate the probability of their next moves, which is one of the key factors for a trader relying on technical analysis to make a trade decision.
I enhanced the script with a Volume Trend Detector, which operates in two modes:
Step-by-Step Logic
The detector identifies expected volume dynamics. For instance, when looking for signs of a lack of bullish interest, I focus on setups with decreasing volatility and volume, particularly for bullish candles. These setups are referred to as No Demand patterns, according to Tom Williams' methodology.
Simple Moving Average (SMA)
The detector can also operate based on a simple moving average, helping to identify systematic trends in declining volume, indicating potential imbalances in market forces.
I’ve designed the program to allow the selection of candle types and volume characteristics to which the script will pay particular attention and notify me of specific market conditions.
Advantages and Disadvantages
Advantages:
Unified visualization of normalized spread and volume, saving time and improving efficiency.
The use of Z-Score as a consistent and repeatable relative mechanism for marking examined values.
The use of colors in visualization as a reference to Z-Score values.
The possibility to set up a continuous alert system that monitors the market in real time.
The use of EMA (Exponential Moving Average) as a moving average for Z-Score.
The goal of these features is to save my time, which is the only truly invaluable resource.
Disadvantages:
The assumption that the data follows a normal distribution, which may lead to inaccurate interpretations.
A fixed analysis period, which may not be perfectly suited to changing market conditions.
The use of EMA as a moving average for Z-Score, listed both as an advantage and a disadvantage depending on market context.
I have included comments within the code to explain the logic behind each part. For those who seek detailed mathematical formulas, I invite you to explore the code itself.
Defining Program Parameters:
Numerical Conditions:
VPSA Period for Analysis – The number of candles analyzed.
Normalized Spread Alert Threshold – The expected normalized spread value; defines how large or small the spread should be, with a range of 0-1.00.
Normalized Volume Alert Threshold – The expected normalized volume value; defines how large or small the volume should be, with a range of 0-1.00.
Spread Z-SCORE Alert Threshold – The Z-SCORE value for the spread; determines how much the spread deviates from the average, with a range of 0-4 (a higher value can be entered, but from a logical standpoint, exceeding 4 is unnecessary).
Volume Z-SCORE Alert Threshold – The Z-SCORE value for volume; determines how much the volume deviates from the average, with a range of 0-4 (the same logical note as above applies).
Logical Conditions:
Logical conditions describe whether the expected value should be less than or equal to or greater than or equal to the numerical condition.
All four parameters accept two possibilities and are analogous to the numerical conditions.
Volume Trend Detector:
Volume Trend Detector Period for Analysis – The analysis period, indicating the number of candles examined.
Method of Trend Determination – The method used to determine the trend. Possible values: Step by Step or SMA.
Trend Direction – The expected trend direction. Possible values: Upward or Downward.
Candle Type – The type of candle taken into account. Possible values: Bullish, Bearish, or Any.
The last available setting is the option to enable a joint alert for VPSA and VTD.
When enabled, VPSA will trigger on the last closed candle, regardless of the VTD analysis period.
Example Use Cases (Labels Visible in the Script Window Indicate Triggered Alerts):
The provided labels in the chart window mark where specific conditions were met and alerts were triggered.
Summary and Reflections
The program I present is a strong tool in the ongoing "game" with the Composite Man.
However, it requires familiarity and understanding of the underlying methodologies to fully utilize its potential.
Of course, like any technical analysis tool, it is not without flaws. There is no indicator that serves as a perfect Grail, accurately signaling Buy or Sell in every case.
I would like to thank those who have read through my thoughts to the end and are willing to take a closer look at my work by using this script.
If you encounter any errors or have suggestions for improvement, please feel free to contact me.
I wish you good health and accurately interpreted market structures, leading to successful trades!
CatTheTrader
Correlation Analysis Tool📈 What Does It Do?
Correlation Calculation: Measures the correlation between a selected asset (Asset 1) and up to four additional assets (Asset 2, Asset 3, Asset 4, Asset 5).
User Inputs: Allows you to define the primary asset and up to four comparison assets, as well as the period for correlation calculations.
Correlation Matrix: Displays a matrix of correlation coefficients as a text label on the chart.
🔍 How It Works
Inputs: Enter the symbols for Asset 1 (main asset) and up to four other assets for comparison.
Correlation Period: Specify the period over which the correlations are calculated.
Calculations: Computes log returns for each asset and calculates the correlation coefficients.
Display: Shows a textual correlation matrix at the top of the chart with percentage values.
⚙️ Features
Customizable Assets: Input symbols for one primary asset and up to four other assets.
Flexible Period: Choose the period for correlation calculation.
Correlation Coefficients: Outputs correlation values for all asset pairs.
Textual Correlation Matrix: Provides a correlation matrix with percentage values for quick reference.
🧩 How to Use
Add the Script: Apply the script to any asset’s chart.
Set Asset Symbols: Enter the symbols for Asset 1 and up to four other assets.
Adjust Correlation Period: Define the period for which correlations are calculated.
Review Results: Check the correlation matrix displayed on the chart for insights.
🚨 Limitations
Historical Data Dependency: Correlations are based on historical data and might not reflect future market conditions.
No Visual Plots Yet: This script does not include visual plots; it only provides a textual correlation matrix.
💡 Best Ways To Use
Sector Comparison: Compare assets within the same sector or industry for trend analysis.
Diversification Analysis: Use the correlations to understand how different assets might diversify or overlap in your portfolio.
Strategic Decision Making: Utilize correlation data for making informed investment decisions and portfolio adjustments.
📜 Disclaimer
This script is for educational and informational purposes only. Please conduct your own research and consult with a financial advisor before making investment decisions. The author is not responsible for any losses or damages resulting from the use of this script.
M Farm Scalper v4"M Farm Scalper v2" Trading Indicator on TradingView
Overview
This script uses a combination of indicators to help attempt the best view of when to exit and enter markets. The author has seen that usage of multiple indicators combined provided value and create profit.
1. Improved Signal Reliability
Combining swing highs and lows with Swing Failure Patterns (SFP) increases the reliability of the signals. Each indicator contributes different insights into market behavior:
Swing Highs and Lows: These help identify key support and resistance levels.
Swing Failure Patterns: These provide early warning signs of potential trend reversals when price fails to maintain new highs or lows.
2. Comprehensive Market Analysis
Using multiple indicators allows for a more comprehensive analysis of market conditions:
Trend Analysis: Swing highs and lows can indicate the overall trend direction.
Reversal Signals: SFPs highlight potential reversal points where the current trend might be weakening.
3. Enhanced Signal Strength
The script not only detects basic SFPs but also evaluates their strength by considering the number of failures within a specified range:
Strength of SFPs: By quantifying the strength of SFPs, the script can distinguish between weak and strong reversal signals. This helps traders prioritize stronger signals, reducing false positives.
4. Visual and Alert-based Trading
The combined use of these indicators improves both visual analysis and automated alert systems:
Visual Representation: Plotting different characters for swing points and SFPs makes it easier for traders to quickly interpret the chart.
Alerts: Automated alerts for specific conditions (like swing high/low failures) enable traders to respond promptly to significant market movements without constantly monitoring the charts.
5. Flexibility and Customization
The script includes parameters that allow traders to customize the behavior of the indicators based on their trading preferences:
Customization of Lookback Period (swingHistory): Traders can adjust this to fine-tune the sensitivity of swing point detection.
Selective Plotting (plotSwings, plotFirstSFPOnly, plotStrongerSFPs): These options provide flexibility in how much information is displayed on the chart, preventing clutter and focusing on relevant signals.
6. Minimized Noise and False Signals
By using a combination of indicators, the strategy aims to filter out market noise and reduce the likelihood of false signals:
Confluence of Signals: When multiple indicators align to provide a signal, it generally indicates a higher probability setup, thus reducing the chances of acting on false or less significant market moves.
7. Contextual Market Understanding
Combining indicators offers a more contextual understanding of market dynamics:
Market Context: Identifying both support/resistance levels (via swing points) and potential trend reversals (via SFPs) provides a fuller picture of market conditions, allowing traders to make more informed decisions.
Conclusion
Combining multiple indicators in the "M Farm Scalper v2" script is a strategic choice designed to enhance the robustness, reliability, and actionable quality of the trading signals. This approach leverages the strengths of each indicator to provide a well-rounded, comprehensive trading tool that aids traders in identifying high-probability trade setups and minimizing the risk of false signals.
ChatGPT can make mistakes. Check important info.
Introducing "M Farm Scalper v2" – an advanced proprietary trading indicator designed exclusively for the TradingView platform. This tool excels in identifying key swing points and Swing Failure Patterns (SFPs), offering traders unique visual and auditory cues to enhance decision-making. It's particularly tailored for the 5-minute timeframe but adaptable to suit a variety of trading styles.
Unique Features
Advanced Swing Point Detection: Leverages a sophisticated algorithm to detect swing highs and lows, integrating predictive analytics to forecast potential market reversals.
Dynamic Swing Failure Pattern Analysis: Employs a real-time analysis combining price action and volume data to pinpoint bullish and bearish reversal opportunities with high precision.
Innovative Visual and Auditory Cues: Features unique, easy-to-understand icons such as animals and fruits to represent market signals, simplifying complex market data into actionable insights.
Functionality
"M Farm Scalper v2" is crafted to deliver:
Configurable Parameters: Users can adjust settings including Swing History, visibility of swing points, and sensitivity for detecting stronger SFPs, making it highly customizable to fit individual trading strategies.
Clear, Actionable Outputs: Designed to offer straightforward visual signals directly on the trading chart, facilitating quick and effective decision-making.
Compliance and Originality
Original Integration of Features: This script combines several analytical techniques into a cohesive unit that surpasses the capabilities of existing open-source scripts in both originality and functionality.
Justification for Closed-Source: The proprietary nature of the algorithms and the unique method of data presentation are maintained as closed-source to protect the integrity and effectiveness of the tool, providing users with a reliable competitive advantage.
Application Instructions
To apply "M Farm Scalper v2," add it from the TradingView "Indicators" menu by searching for our script. Adjust the customizable settings as per your trading requirements and observe how the indicator’s outputs make market dynamics easy to interpret and act upon.
Chart Presentation
The accompanying chart is presented cleanly, focusing solely on the outputs of "M Farm Scalper v2." Each visual cue is annotated to demonstrate its relevance, ensuring that traders can easily understand and utilize the information provided without distraction.
Conclusion
"M Farm Scalper v2" is not just an indicator but an essential trading tool for those seeking precision and efficiency in their trading operations. Its advanced features and user-friendly design make it a valuable addition to any trader’s arsenal, especially for those involved in scalping and short-term trading.
Protected script
This script is published closed-source but you may use it freely. You can favorite it to use it on a chart. You cannot view or modify its source code.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
BitBell - EMA PullBack RSI EXO
🔵 Introduction
Version 1.1
This is a Pine 5 trend following strategy. It has a four strategy with several alerts and signals. The design intent is to produce a commercial grade signal generator that can be adapted to any symbol in cryptocurrency and only 1H Chart. Ideally, the script is reliable enough to be the basis of an automated trading system web-hooked to a server with API access to crypto brokerages. The strategy can be run in three different modes: long, short and bidirectional.
As a trend following strategy, the behavior of the script is to buy on strength and sell on weakness. As such the trade orders maintain its directional bias according to price pressure. What you will see on the chart is long positions on the left side of the mountain and short on the right. Long and short positions are not intermingled as long as there exists a detectable trend. This is extremely beneficial feature in long running bull or bear markets. The script uses multiple setups to avoid the situation where you got in on the trend, took a small profit but couldn’t get back in because the logic is waiting for a pullback or some other intricate condition.
Deep draw-downs are a characteristic of trend following systems and this system is no different. However, this script makes use of the TradingView pyramid feature with three NPUs to find better place and even you can change drop percentage in settings for another trigger, accessible from the properties tab.
When trend market break it will stop the trade and usually it takes 2-4 percent loss but don't worry it has prefect money management and you can use it for Futures market and even Spot market.
🔵 Design
This script uses twelve indicators on two time frames. The chart (primary) interval and one higher time frame which is based on the primary. The higher time frame identifies the trend for which the primary will trade. I’ve tried to keep the higher time frame around five times greater than the primary. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The alligator itself is used to identify the trend main body.
The entire script is around 740 lines of Pine code which is the maximum incidental size given the TradingView limits: local scopes, run-time duration and compile time. I’ve been working on this script for over a year and have tested it on various instruments stock crypto. It performs well on higher liquidity markets that have at least a year of historical data. Though it can be configured to work on any interval between 15 minutes and 4 hour, trend trading is generally a longer term paradigm. For day trading the 10 to 15 minute interval will allow you to catch momentum breakouts. For intraweek trades 30 minutes to 1 hour should give you a trade every other a day.
Inputs to the script use cone centric measurements in effort to avoid exposing adjustments to the various internal indicators. The goal was to keep the inputs relevant to the actual trade entry and exit locations as opposed to a series of MA input values and the like. As a result the strategy exposes over 12 inputs grouped into long or short sections. Inputs are available for the usual minimum profit and stop-loss as well as trade, modes, presets, reports and lots of calibrations. The inputs are numerous, I’m aware. Unfortunately, at this time, TradingView does not offer any other method to get data in the script. The usual initialization files such as cnf, cfg, ini, json and xml files are currently unsupported.
Example configurations for various instruments along with a detailed PDF user manual is available.
it has no repaint i guaranty this, and you can have 10 days free with comment and check it by yourself
One issue that comes up when comparing the strategy with the study is that the strategy trades show on the chart one bar later than the study. This problem is due to the fact that “strategy.entry()” and “strategy_close()” do not execute on the same bar called. The study, on the other hand, has no such limitation since there are no position routines. However, alerts that are subsequently fired off when triggered in the study are dispatched from the TradingView servers one bar later from the study plot. Therefore the alert you actually receive on your cell phone matches the strategy plot but is one bar later than the study plot.
Please be aware that the data source matters. Cryptocurrency has no central tick repository so each exchange supplies TradingView its feed. Even though it is the same symbol the quality of the data and subsequently the bars that are supplied to the chart varies with the exchange. This script will absolutely produce different results on different data feeds of the same symbol. Be sure to backtest this script on the same data you intend to receive alerts for. Any example settings I share with you will always have the exchange name used to generate the test results.
🟡 Usage
It sends long and short signals with pyramid orders of up to 3, meaning that the strategy can trigger up to 3 orders in the same direction. Good risk and money management.
It's important to note that the strategy combines 2 systems working together (Long and LongX). Let’s describe the specific features of this strategy.
🔵 If Findes Supports And Ressitances And Trend Lines As Best As It Can, And You Can See:
🟢 Frist Simple Long Condition = It Look At The Trend Wait For RSI Cross 30 Number Then Ckeck Risk To Reward, check something else such as divergence:
🟢 Another Long Example:
🔴 Frist Simple Short Condition = It Look At The Trend Wait For RSI Cross 70 Number Then Ckeck Risk To Reward, check something else such as divergence:
🔴 Another Short Example:
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configs that I use for my own trading that I can share with you along with a PDF which describes each input in detail. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
The input dialog box contains over 12 inputs, There are four options must to be configured: Choose Target, side, Choose Settings, Money Management,and settings that apply to both. The following steps address these four main options only.
Money Management System For Leverage 10:
Bot Finds Last Lower Low And Calculate Distance From Entry Price, Then Cross It To Initial Capitan And Cross Leverage =>
Position_Size = (((1.64) * (initial Capital)) * (leverage))
And Check Dominances Too For Getting Best Money Management Result
🔵 Settings
* Side, You Can Set Long Or Short Or Both.
* Choose Target, You Can Set One Target Or All Targets.
* Money Management, You Can ON Or OFF It, With OFF You Can USE It For SPOT Trades.
* Choose Settings, In This Field You Can Set Mathematical Optimization, Ddepends On Which Pair You USE.
* Clear With Daily PullBack?, With This Check Box You Can Clear Signals With Daily PullBack.
* Long X, You Can Set Long Leverage.
* Short X, You Can Set Short Leverage.
* Second Order X, You Can Set Pyramiding Leverage.
* Target Long, You Can Set Percent For Long Target.
* Target Short, You Can Set Percent For Short Target.
* Short Martin Percent, You Can Set Short Martingale Percent.
* Long Martin Percent, You Can Set Long Martingale Percent.
🟡 Pyraming 3
🟡 Commission Is 0.065 %
🟡 Slippage Is 10 ticks
🔴Only Use For 1 Hour Chart
🔴 CONCLUSION
We believe that success lies in the association of the user with the indicator, opposed to many traders who have the perspective that the indicator itself can make them become profitable. The reality is much more complicated than that.
The aim is to provide an indicator comprehensive, customizable, and intuitive enough that any trader can be led to understand this truth and develop an actionable perspective of technical indicators as support tools for decision making.
🔴 RISK DISCLAIMER
Trading is risky & most day traders lose money. All content, tools, scripts, articles, & education provided by BitBell are purely for informational & educational purposes only. Past performance does not guarantee future results.
Advanced Dynamic Threshold RSI [Elysian_Mind]Advanced Dynamic Threshold RSI Indicator
Overview
The Advanced Dynamic Threshold RSI Indicator is a powerful tool designed for traders seeking a unique approach to RSI-based signals. This indicator combines traditional RSI analysis with dynamic threshold calculation and optional Bollinger Bands to generate weighted buy and sell signals.
Features
Dynamic Thresholds: The indicator calculates dynamic thresholds based on market volatility, providing more adaptive signal generation.
Performance Analysis: Users can evaluate recent price performance to further refine signals. The script calculates the percentage change over a specified lookback period.
Bollinger Bands Integration: Optional integration of Bollinger Bands for additional confirmation and visualization of potential overbought or oversold conditions.
Customizable Settings: Traders can easily customize key parameters, including RSI length, SMA length, lookback bars, threshold multiplier, and Bollinger Bands parameters.
Weighted Signals: The script introduces a unique weighting mechanism for signals, reducing false positives and improving overall reliability.
Underlying Calculations and Methods
1. Dynamic Threshold Calculation:
The heart of the Advanced Dynamic Threshold RSI Indicator lies in its ability to dynamically calculate thresholds based on multiple timeframes. Let's delve into the technical details:
RSI Calculation:
For each specified timeframe (1-hour, 4-hour, 1-day, 1-week), the Relative Strength Index (RSI) is calculated using the standard 14-period formula.
SMA of RSI:
The Simple Moving Average (SMA) is applied to each RSI, resulting in the smoothing of RSI values. This smoothed RSI becomes the basis for dynamic threshold calculations.
Dynamic Adjustment:
The dynamically adjusted threshold for each timeframe is computed by adding a constant value (5 in this case) to the respective SMA of RSI. This dynamic adjustment ensures that the threshold reflects changing market conditions.
2. Weighted Signal System:
To enhance the precision of buy and sell signals, the script introduces a weighted signal system. Here's how it works technically:
Signal Weighting:
The script assigns weights to buy and sell signals based on the crossover and crossunder events between RSI and the dynamically adjusted thresholds. If a crossover event occurs, the weight is set to 2; otherwise, it remains at 1.
Signal Combination:
The weighted buy and sell signals from different timeframes are combined using logical operations. A buy signal is generated if the product of weights from all timeframes is equal to 2, indicating alignment across timeframe.
3. Experimental Enhancements:
The Advanced Dynamic Threshold RSI Indicator incorporates experimental features for educational exploration. While not intended as proven strategies, these features aim to offer users a glimpse into unconventional analysis. Some of these features include Performance Calculation, Volatility Calculation, Dynamic Threshold Calculation Using Volatility, Bollinger Bands Module, Weighted Signal System Incorporating New Features.
3.1 Performance Calculation:
The script calculates the percentage change in the price over a specified lookback period (variable lookbackBars). This provides a measure of recent performance.
pctChange(src, length) =>
change = src - src
pctChange = (change / src ) * 100
recentPerformance1H = pctChange(close, lookbackBars)
recentPerformance4H = pctChange(request.security(syminfo.tickerid, "240", close), lookbackBars)
recentPerformance1D = pctChange(request.security(syminfo.tickerid, "1D", close), lookbackBars)
3.2 Volatility Calculation:
The script computes the standard deviation of the closing price to measure volatility.
volatility1H = ta.stdev(close, 20)
volatility4H = ta.stdev(request.security(syminfo.tickerid, "240", close), 20)
volatility1D = ta.stdev(request.security(syminfo.tickerid, "1D", close), 20)
3.3 Dynamic Threshold Calculation Using Volatility:
The dynamic thresholds for RSI are calculated by adding a multiplier of volatility to 50.
dynamicThreshold1H = 50 + thresholdMultiplier * volatility1H
dynamicThreshold4H = 50 + thresholdMultiplier * volatility4H
dynamicThreshold1D = 50 + thresholdMultiplier * volatility1D
3.4 Bollinger Bands Module:
An additional module for Bollinger Bands is introduced, providing an option to enable or disable it.
// Additional Module: Bollinger Bands
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2.0, title="Bollinger Bands Multiplier")
upperBand = ta.sma(close, bbLength) + bbMultiplier * ta.stdev(close, bbLength)
lowerBand = ta.sma(close, bbLength) - bbMultiplier * ta.stdev(close, bbLength)
3.5 Weighted Signal System Incorporating New Features:
Buy and sell signals are generated based on the dynamic threshold, recent performance, and Bollinger Bands.
weightedBuySignal = rsi1H > dynamicThreshold1H and rsi4H > dynamicThreshold4H and rsi1D > dynamicThreshold1D and crossOver1H
weightedSellSignal = rsi1H < dynamicThreshold1H and rsi4H < dynamicThreshold4H and rsi1D < dynamicThreshold1D and crossUnder1H
These features collectively aim to provide users with a more comprehensive view of market dynamics by incorporating recent performance and volatility considerations into the RSI analysis. Users can experiment with these features to explore their impact on signal accuracy and overall indicator performance.
Indicator Placement for Enhanced Visibility
Overview
The design choice to position the "Advanced Dynamic Threshold RSI" indicator both on the main chart and beneath it has been carefully considered to address specific challenges related to visibility and scaling, providing users with an improved analytical experience.
Challenges Faced
1. Differing Scaling of RSI Results:
RSI values for different timeframes (1-hour, 4-hour, and 1-day) often exhibit different scales, especially in markets like gold.
Attempting to display these RSIs on the same chart can lead to visibility issues, as the scaling differences may cause certain RSI lines to appear compressed or nearly invisible.
2. Candlestick Visibility vs. RSI Scaling:
Balancing the visibility of candlestick patterns with that of RSI values posed a unique challenge.
A single pane for both candlesticks and RSIs may compromise the clarity of either, particularly when dealing with assets that exhibit distinct volatility patterns.
Design Solution
Placing the buy/sell signals above/below the candles helps to maintain a clear association between the signals and price movements.
By allocating RSIs beneath the main chart, users can better distinguish and analyze the RSI values without interference from candlestick scaling.
Doubling the scaling of the 1-hour RSI (displayed in blue) addresses visibility concerns and ensures that it remains discernible even when compared to the other two RSIs: 4-hour RSI (orange) and 1-day RSI (green).
Bollinger Bands Module is optional, but is turned on as default. When the module is turned on, the users can see the upper Bollinger Band (green) and lower Bollinger Band (red) on the main chart to gain more insight into price actions of the candles.
User Flexibility
This dual-placement approach offers users the flexibility to choose their preferred visualization:
The main chart provides a comprehensive view of buy/sell signals in relation to candlestick patterns.
The area beneath the chart accommodates a detailed examination of RSI values, each in its own timeframe, without compromising visibility.
The chosen design optimizes visibility and usability, addressing the unique challenges posed by differing RSI scales and ensuring users can make informed decisions based on both price action and RSI dynamics.
Usage
Installation
To ensure you receive updates and enhancements seamlessly, follow these steps:
Open the TradingView platform.
Navigate to the "Indicators" tab in the top menu.
Click on "Community Scripts" and search for "Advanced Dynamic Threshold RSI Indicator."
Select the indicator from the search results and click on it to add to your chart.
This ensures that any future updates to the indicator can be easily applied, keeping you up-to-date with the latest features and improvements.
Review Code
Open TradingView and navigate to the Pine Editor.
Copy the provided script.
Paste the script into the Pine Editor.
Click "Add to Chart."
Configuration
The indicator offers several customizable settings:
RSI Length: Defines the length of the RSI calculation.
SMA Length: Sets the length of the SMA applied to the RSI.
Lookback Bars: Determines the number of bars used for recent performance analysis.
Threshold Multiplier: Adjusts the multiplier for dynamic threshold calculation.
Enable Bollinger Bands: Allows users to enable or disable Bollinger Bands integration.
Interpreting Signals
Buy Signal: Generated when RSI values are above dynamic thresholds and a crossover occurs.
Sell Signal: Generated when RSI values are below dynamic thresholds and a crossunder occurs.
Additional Information
The indicator plots scaled RSI lines for 1-hour, 4-hour, and 1-day timeframes.
Users can experiment with additional modules, such as machine-learning simulation, dynamic real-life improvements, or experimental signal filtering, depending on personal preferences.
Conclusion
The Advanced Dynamic Threshold RSI Indicator provides traders with a sophisticated tool for RSI-based analysis, offering a unique combination of dynamic thresholds, performance analysis, and optional Bollinger Bands integration. Traders can customize settings and experiment with additional modules to tailor the indicator to their trading strategy.
Disclaimer: Use of the Advanced Dynamic Threshold RSI Indicator
The Advanced Dynamic Threshold RSI Indicator is provided for educational and experimental purposes only. The indicator is not intended to be used as financial or investment advice. Trading and investing in financial markets involve risk, and past performance is not indicative of future results.
The creator of this indicator is not a financial advisor, and the use of this indicator does not guarantee profitability or specific trading outcomes. Users are encouraged to conduct their own research and analysis and, if necessary, consult with a qualified financial professional before making any investment decisions.
It is important to recognize that all trading involves risk, and users should only trade with capital that they can afford to lose. The Advanced Dynamic Threshold RSI Indicator is an experimental tool that may not be suitable for all individuals, and its effectiveness may vary under different market conditions.
By using this indicator, you acknowledge that you are doing so at your own risk and discretion. The creator of this indicator shall not be held responsible for any financial losses or damages incurred as a result of using the indicator.
Kind regards,
Ely
Trend Reversal System with SR levelsHello All,
This is the Trend Reversal System with Support/Resistance levels script. long time ago I published it as closed source but now I upgraded it and and published as open-source with a different name. I hope it would be useful for you all while trading/analyzing.
The script has some parts in it: Setup, Count, SR levels, Risk levels & Targets . Now lets check them:
Setup Part: it has two part, Buy or Sell Setup. one of them can be active only. Buy setup: if current close checks if current is lower/equal than the close of the 5. bar. if yes then the script increases number of buy setup. and if it reaches 9 then the script checks if current low is lower/equal than the lows of last 3. and 4. bars, or if the low of the last bar is lower/equal than the lows of last 3. and 4. bars. if yes then the script increases the buy setup by 1. if these conditions met then it puts the label 'S' , same for Sell setup. S labels on both setup are potential reversals.
Count Part: If buy or sell setup reaches the 9 then Count part starts from 1. lets see buy count: If current close is lower/equal than the low of the 3. bar and buy count is lower than 12 or low of the bar 13 is less than or equal to the close of bar 8 then buy count increase or it's completed. if it's completed then the script puts C label, and it's potential reversal. of course there are some conditions that can cancel the count buy/sell or recycle/restart.
By using Setup and Count levels the script can show Support/Resistance Levels, Risk levels & Targets. SR levels are potential reversal levels.
Lets see some example screenshots:
Support/Resistance levels:
Potential Reversal levels and how setup/counts are shown:
Count part can recycle and the script shows it as 'R' , ( you can see the conditions for Recycle in the script ):
Count can be cancelled and and it's shown as 'x'
If the scripts find 9 on Setup or 13 on Count then it checks if it's a good level to buy/sell and if it decides it's good level then it shows TRSSetup Buy/Sell or TRSCount Buy/Sell and also shows the target. in following example the script checks and decide it's a good level to take long position. it can be aggressive or conservative, Conservative is recommended.
Enjoy!
Volume FootprintThe Volume Footprint chart is analyzing volume data from inside the candle and split them into Up and Down Volume in the same way as Volume Profile analyzes the volume data from a fragment of the chart.
The visualization is little different:
Down Volume (sells) are shown on the left side of a candle.
Up Volume (Buys) are shown on the right side of a candle.
User can pick data precision used by Volume Footprint. We recomend to use the highest possible precision.
Unfortunatelly Trading View has many limitations.
If after adding script nothing is visible with error: "'The study references too many candles in history'" you need to use lower precision - It can be changed in script settings.
This script is a part of a toolkit called "Volume Footprint", containing few tools:
Volume Footprint - Scripts drawing Volume Footprint chart.
Volume Footprint Statistics - Script showing table with basic statistics about Up and Down volume inside the candles.
Volume Delta In Candle - Chart showing history of delta (difference between Up and Down volume) changes inside the current candle.
Volume Cumulative Delta - Chart showing history of cumulative delta (sum of difference between Up and Down volume in trading period equal to chart interval).
This script can be used by any user. You do not need to have PRO or PREMIUM account to use it.
Script with limited access, contact author to get authorization
User Interface:
Script is grouping Up and Down Volume into slots based on price. Slots height is controled by "Slot height" param in settings.
On left side of a candle Down Volume is shown and on right side Up Volume is shown.
Before Down Volume may appear imbalance symbols:
⠀↓ - 3 times
⠀↡ - 5 times
⠀⇊ - 10 times
After Up Volume may appear imbalance symbols:
⠀↑ - 3 time
⠀↟ - 5 times
⠀⇈ - 10 times
Above the candle we can show some basic statistics of that candle:
"V:" - Row with volume statistics:
⠀∑ - Total volume,
⠀Δ - Difference between Up and Down Volume.
⠀min Δ - Smallest difference between Up and Down Volume in that candle
⠀max Δ - Biggest difference between Up and Down Volume in that candle
Script settings:
Slot height = 10^ - Price slot height on the chart:
⠀ 0 - 1$
⠀ 1 - 10$
⠀ 2 - 100$
⠀ 3 - 1000$
⠀-1 - 0.1$
⠀-2 - 0.01$
⠀-3 - 0.001$
Data precision - One of 6 levels of data precision: ▉▇▆▅▃▁, where ▉ means the highest precision and ▁ the lowest available precision. On 15 minute chart highest precision should be available, but on 1D it will probably hit TradingView limitations and script will not be even launched by the platform with error: "'The study references too many candles in history'". The general recommendation is to use the highest available precision for a given instrument and interval.
Precise warnings - Option to show precise warnings about missing volume in candle footprint (warning connected with one of TradingView limitations).
Draw candles - Option of drawing candles fiting to volume labels and 2 fields for picking colors of up and down candles. The general recommendation is to hide chart candles and turn on this option.
Show stats - Showing stats over the candle: ∑, Δ, min Δ, max Δ. You can use 'Volume Footprint Statistics' script instead
Font size - Used to draw all the data over the chart: T(iny), S(mall), N(ormal), L(arge)
Centered - If checked volume labels are stick to candle (centered).
Color values - Option to draw labels with use of Up or Down color, depending which value (Volume Up or Volume Down) is bigger in the price slot.
Filter - Filtering option than allow hinding labels with small values:
⠀0 - filter turned off.
⠀1-5 - filtering with transparency
⠀6-10 - Filtering with hiding values.
Show zeros - It can show zeros or leave empty places
Highlight biggest slot - Option to highlight price slot with biggest volume in the candle.
Imbalances - Showing imbalance symbols before Down or after Up Volume
Only over average - Showing imbalances symbols only for volume not smaller than the average value.
Value area - Option to identify group of slots with biggest volume in each candle. A group is a smallest set of neighboring slots that have at least n(param) % of candle volume .
⠀ Value Area Minimal Volume (%) - Value area size as % of candle volume .
⠀ Color - Color of the Value area.
⠀ Show borders - Showing border lines of value areas over the candle.
⠀ Track - Option to track value areas. Potencial Support-Resistance zones.
⠀ Only active - Hide areas that were crossed by the price.
Show Values - Show volume value over tracked value areas.
Troubleshooting:
In case of any problems, send error details to the author of the script.
Known issues:
"The study references too many candles in history" - Change "Data precision" settings to some lower value.
Tick StatisticsTick Statistics:
I have seen many questions/queries related to tick data in TV telegram channels. This script will help pine scripts to understand how ticks work, how to capture and process tick data.
This is an educational indicator script for pine scripters.
The indicator shall work only on real time candles. Tick data capture is initiated as soon as indicator is loaded on the chart. You might not get correct statistics on 1st candle in case indicator is loaded when real time candle is in progress, in such case you can monitor the statistics generated for subsequent candles.
Generated statistics is shown on the chart by placing 2 diamond shapes above and below the candle.
Diamond shape below the candle will have candles ‘tick data’ listed in a table. This can be view by placing mouse pointer on the diamond shape. Refer to point 1 below for more details.
Diamond shape above the candle will have statistics as mentioned in point no 2 onwards. To view the statistics place the mouse point on the diamond shape. The shape will appear in green color when both tick price and tick volume are both moving in the same direction. The diamond shape in red color means tick price and tick volume are moving in opposite direction.
The script captures tick by tick data and generate statistics below:
1. List of tick data with details below: (this is stored in the diamond shape placed below the candle)
a. Tick no
b. Tick type – Up tick (Up), Down tick (Dn), No change (--)
c. Tick price
d. Volume
e. Price difference (as compared to previous tick price)
f. Volume difference (as compared to previous tick volume)
2. Tick statistics
a. Total ticks
b. Number of up ticks
c. Number of down ticks
d. Number of No change ticks
3. Volume Statistics
a. Total volume
b. Up tick volume
c. Down tick volume
d. Volume associated with ticks where there is no change
e. Candle volume (just for reconciliation purpose)
4. Max-min statistics
a. Max volume = <> at price = <> at tick no = <>
b. Min volume = <> at price = <> at tick no = <>
c. Max price = <> at volume = <> at tick no = <>
d. Min price = <> at volume = <> at tick no = <>
5. Candle summary
a. Price << Up >> (if price is up as compared to 1st tick <> otherwise
b. Volume <> (if up tick volume is more than down tick volume <> otherwise